/*
 * A n t l r  S e t s / E r r o r  F i l e  H e a d e r
 *
 * Generated from: cl.g
 *
 * Terence Parr, Russell Quong, Will Cohen, and Hank Dietz: 1989-2001
 * Parr Research Corporation
 * with Purdue University Electrical Engineering
 * With AHPCRC, University of Minnesota
 * ANTLR Version 1.33MR33
 */

#define ANTLR_VERSION	13333
#include "pcctscfg.h"
#include "pccts_stdio.h"

#include <string>
#include <iostream>
#include <map>
#include <list>
#include <vector>
#include <fstream>

using namespace std;

#include <stdio.h>
#include <stdlib.h>
#include "ptype.hh"
#include "symtab.hh"
#include "codegest.hh"

/// struct to contain information about a token.
typedef struct {
  string kind;
  string text;
  int line;
} Attrib;

/// function called by the scanner when a new token is found
/// Predeclared here, definition below.
void zzcr_attr(Attrib *attr,int type,char *text);

/// Include AST node fields declaration
#include "myASTnode.hh"

/// Macro called by the parser when a new AST node is to be created
/// createASTnode function doing the actual job is defined below.
#define zzcr_ast(as,attr,tttype,textt) as=createASTnode(attr,tttype,textt);
AST* createASTnode(Attrib* attr, int ttype, char *textt);
#define zzSET_SIZE 8
#include "antlr.h"
#include "ast.h"
#include "tokens.h"
#include "dlgdef.h"
#include "err.h"

ANTLRChar *zztokens[63]={
	/* 00 */	"Invalid",
	/* 01 */	"INPUTEND",
	/* 02 */	"PROGRAM",
	/* 03 */	"ENDPROGRAM",
	/* 04 */	"PROCEDURE",
	/* 05 */	"ENDPROCEDURE",
	/* 06 */	"FUNCTION",
	/* 07 */	"ENDFUNCTION",
	/* 08 */	"VAL",
	/* 09 */	"REF",
	/* 10 */	"RETURN",
	/* 11 */	"IF",
	/* 12 */	"THEN",
	/* 13 */	"ELSE",
	/* 14 */	"ENDIF",
	/* 15 */	"WHILE",
	/* 16 */	"DO",
	/* 17 */	"ENDWHILE",
	/* 18 */	"FOR",
	/* 19 */	"ENDFOR",
	/* 20 */	"VARS",
	/* 21 */	"ENDVARS",
	/* 22 */	"STRUCT",
	/* 23 */	"ENDSTRUCT",
	/* 24 */	"INT",
	/* 25 */	"BOOL",
	/* 26 */	"STRING",
	/* 27 */	"HASH",
	/* 28 */	"ARRAY",
	/* 29 */	"OF",
	/* 30 */	"READ",
	/* 31 */	"WRITE",
	/* 32 */	"WRITELN",
	/* 33 */	"IN",
	/* 34 */	"AND",
	/* 35 */	"OR",
	/* 36 */	"EQUAL",
	/* 37 */	"LESS",
	/* 38 */	"GREATER",
	/* 39 */	"PLUS",
	/* 40 */	"MINUS",
	/* 41 */	"TIMES",
	/* 42 */	"DIVIDED",
	/* 43 */	"NOT",
	/* 44 */	"OPENPAR",
	/* 45 */	"CLOSEPAR",
	/* 46 */	"OPENBR",
	/* 47 */	"CLOSEBR",
	/* 48 */	"OPENCB",
	/* 49 */	"CLOSECB",
	/* 50 */	"ARROW",
	/* 51 */	"ASIG",
	/* 52 */	"DOT",
	/* 53 */	"COMMA",
	/* 54 */	"TRUECONST",
	/* 55 */	"FALSECONST",
	/* 56 */	"IDENT",
	/* 57 */	"INTCONST",
	/* 58 */	"STRINGCONST",
	/* 59 */	"COMMENT",
	/* 60 */	"WHITESPACE",
	/* 61 */	"NEWLINE",
	/* 62 */	"LEXICALERROR"
};
SetWordType zzerr1[8] = {0x78,0x8c,0x14,0xc0, 0x1,0x0,0x0,0x1};
SetWordType zzerr2[8] = {0x0,0x0,0x40,0x1f, 0x0,0x0,0x0,0x0};
SetWordType setwd1[63] = {0x0,0x1,0x0,0x6,0xa6,0x6,0xa6,
	0x0,0x0,0x0,0x26,0x26,0x0,0x0,0x0,
	0x26,0x0,0x0,0x26,0x0,0x20,0x38,0x0,
	0x60,0x0,0x0,0x0,0x0,0x0,0x0,0x26,
	0x26,0x26,0x0,0x0,0x0,0x0,0x0,0x0,
	0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,
	0x20,0x0,0x0,0x0,0x0,0x0,0x20,0x0,
	0x0,0x76,0x0,0x0,0x0,0x0,0x0,0x0};
SetWordType zzerr3[8] = {0x50,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
SetWordType zzerr4[8] = {0x0,0x3,0x0,0x0, 0x0,0x20,0x0,0x0};
SetWordType zzerr5[8] = {0x0,0x3,0x0,0x0, 0x0,0x0,0x0,0x0};
SetWordType setwd2[63] = {0x0,0x0,0x0,0x3,0x2a,0xf,0x2a,
	0x10,0x40,0x40,0x23,0x2b,0x0,0x0,0x0,
	0x2b,0x0,0x0,0x2b,0x0,0x28,0x0,0x0,
	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2b,
	0x2b,0x2b,0x0,0x0,0x0,0x0,0x0,0x0,
	0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,
	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
	0x0,0x2b,0x0,0x0,0x0,0x0,0x0,0x0};
SetWordType zzerr6[8] = {0x0,0x0,0x0,0xc0, 0x1,0x0,0x0,0x0};
SetWordType zzerr7[8] = {0x0,0x0,0x0,0x0, 0x0,0x19,0xc1,0x7};
SetWordType setwd3[63] = {0x0,0x0,0x0,0x10,0x2,0x10,0x2,
	0x4,0x0,0x0,0x12,0xa,0x0,0x10,0x10,
	0xa,0x0,0x10,0xa,0x10,0x2,0x0,0x0,
	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2a,
	0x2a,0x2a,0x0,0x0,0x0,0x0,0x0,0x0,
	0x0,0x40,0x0,0x0,0x40,0x40,0x1,0x80,
	0x0,0x40,0x0,0x0,0x80,0x80,0x1,0x40,
	0x40,0x4a,0x40,0x40,0x0,0x0,0x0,0x0};
SetWordType zzerr8[8] = {0x0,0x0,0x0,0x0, 0x0,0x50,0x18,0x0};
SetWordType zzerr9[8] = {0x0,0x88,0x4,0xc0, 0x1,0x0,0x0,0x1};
SetWordType zzerr10[8] = {0x0,0x0,0x0,0x0, 0x0,0x39,0xc1,0x7};
SetWordType zzerr11[8] = {0x0,0x0,0x0,0x0, 0xc,0x0,0x0,0x0};
SetWordType zzerr12[8] = {0x0,0x0,0x0,0x0, 0x70,0x0,0x0,0x0};
SetWordType setwd4[63] = {0x0,0x0,0x0,0x52,0x0,0x52,0x0,
	0x50,0x0,0x0,0x52,0x52,0x50,0x52,0x52,
	0x52,0x50,0x52,0x52,0x52,0x0,0x0,0x0,
	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x52,
	0x52,0x52,0x0,0x20,0x20,0x80,0x80,0x80,
	0x0,0x4,0x0,0x0,0x4,0x4,0x58,0x1,
	0x50,0x4,0x50,0x50,0x0,0x1,0x50,0x4,
	0x4,0x56,0x4,0x4,0x0,0x0,0x0,0x0};
SetWordType zzerr13[8] = {0x0,0x0,0x0,0x0, 0x80,0x1,0x0,0x0};
SetWordType zzerr14[8] = {0x0,0x0,0x0,0x0, 0x0,0x6,0x0,0x0};
SetWordType zzerr15[8] = {0x0,0x0,0x0,0x0, 0x0,0x9,0x0,0x0};
SetWordType zzerr16[8] = {0x0,0x0,0x0,0x0, 0x0,0x19,0xc1,0x7};
SetWordType setwd5[63] = {0x0,0x0,0x0,0x2b,0x0,0x2b,0x0,
	0x2b,0x0,0x0,0x2b,0x2b,0x2b,0x2b,0x2b,
	0x2b,0x2b,0x2b,0x2b,0x2b,0x0,0x0,0x0,
	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2b,
	0x2b,0x2b,0x28,0x2b,0x2b,0x2a,0x2a,0x2a,
	0x24,0x64,0x10,0x10,0x40,0x80,0x2b,0x0,
	0x2b,0x80,0x2b,0x2b,0x0,0x0,0x2b,0x80,
	0x80,0xab,0x80,0x80,0x0,0x0,0x0,0x0};
SetWordType zzerr17[8] = {0xa8,0xfc,0xf,0xc0, 0xff,0xf7,0x36,0x1};
SetWordType zzerr18[8] = {0x0,0x0,0x0,0x0, 0x0,0x10,0xc1,0x7};
SetWordType zzerr19[8] = {0x0,0x0,0x0,0x0, 0x0,0x19,0xc3,0x7};
SetWordType setwd6[63] = {0x0,0x0,0x0,0x1b,0x0,0x1b,0x0,
	0x1b,0x0,0x0,0x1b,0x1b,0x1b,0x1b,0x1b,
	0x1b,0x1b,0x1b,0x1b,0x1b,0x0,0x0,0x0,
	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1b,
	0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
	0x1b,0x3b,0x1b,0x1b,0x20,0x20,0x1b,0x6,
	0x1b,0x20,0xdb,0x1b,0x0,0x6,0x9b,0x20,
	0x20,0x3b,0x20,0x20,0x0,0x0,0x0,0x0};
